#include <iostream>
#include <unistd.h>
#include <signal.h>

void Hander(int signo)
{
    std::cout << "Get a signal, signal number is: " << signo << std::endl;
}

int main()
{
    // 将SIGINT信号: 默认终止进程 -> 执行自定义方法: Hander
    // 当SIGINT被触发(Ctrl + C), 内核会将对应的信号编号传递给自定义方法Hander
    for(int signo = 1; signo < 32; signo++)
    {
        signal(signo, Hander);
        std::cout << "自定义捕捉信号: " << signo << std::endl;
    }

    while(true)
    {
        std::cout << "Hello world" << std::endl;
        sleep(1);
    }

    return 0;
}

int main1()
{
    // 将SIGINT信号: 默认终止进程 -> 执行自定义方法: Hander
    // 当SIGINT被触发(Ctrl + C), 内核会将对应的信号编号传递给自定义方法Hander
    signal(SIGINT, Hander); 

    while(true)
    {
        std::cout << "Hello world" << std::endl;
        sleep(1);
    }

    return 0;
}